みなさんへの告知板


オンラインゲームからは離れました。これからはリアルょぅι゛ょで頑張ろうと思います


ミジンコゼミナール


ネットゲーム解析初心者向け講座、ミジンコゼミナール 開講!

多重起動、窓化の基礎をしらんやつは見ておけ。
読んでも理解できないやつは解析以前の問題だから文句いうな('A`)

ミジンコゼミナール:ネットゲーム解析講座一覧
1日目:入学/必要な教材 2日目:基本的なアセンブリ言語
3日目:Ollydbg の操作方法と演習 4日目:多重起動1(FindWindow)
5日目:多重起動2(CreateMutex) 6日目:多重起動3(EnumWindows、その他の方法)
7日目:ウィンドウについて
8日目:窓化(D8) 9日目:窓化(D9)
10日目:DLL について 11日目:何か作ってみよう
12日目:試験 13日目:プレゼント

2007年03月04日


隠れん坊

たまには守る側の気持ちで…

MizingerZ


えぇ、ただのネタプログラムですがなにか?



遊び方(?):

1.起動

2.解析しようとデバッガやタスクマネージャーで Mizinger を探す。



アタッチできない人は頑張ってアタッチできるプログラムを作る(ぇ


この記事へのコメント
先生!VirtualPC2004(win2kSP4)上だと正常に動くのに
実機(win2kSP4)だと、起動した後ボタンぽちっとやると魔の青いアレになります
#EXITすらダメ
実機はヘビーに弄繰り回してるから、環境がカオスなのでしょうか・・・
coredumpも正常に取れてないから使い物にならないし

#実機で動かないと調べる気にならないから脳内構想でしかないですが
#OpenServiceするあたりから全部潰す
#DeviceIoControlしてるとこ全部潰す
#ただのrootkitならこれで回避できちゃう予感
Posted by 美ちんこ at 2007年03月05日 16:45
>美ちんこ氏

外し方については問題なく正解です!
が、しかし…
今回のテーマは起動した状態で隠されたプロセスにどうアプローチを掛けるか?
がテーマだったので80点です^^;

といってもそっちの答えもわかってると思うので100点で(どっちだよ('A`)

>実機(win2kSP4)だと、

う〜ん、うちの W2k SP4だと問題ないのですが
ボタンをぽちっ、で落ちるということはテーブルをオリジナルに
戻す処理で落ちてるという事ですねぇ…。

PCにインストールしてるほかのドライバとかとバッティングしてるのかな?
Posted by sp at 2007年03月05日 21:46
これのソースを頂くってことはできないですかね
Posted by sachi at 2007年03月07日 22:29
>sachi氏

ソースおkだす、でもこっちのソースは会社PCに
入ってるから明日うpしておくね。
Posted by sp at 2007年03月08日 00:53
はいどみじんがー

https://sp-.up.seesaa.net/image/Mizinger_SRC.zip

他にも検証しようと思った思いつきコードが
入ってるからSysEnterの部分とかは気にしないでね('A`)
とりあえずよくあるRootkitベースです。
Posted by sp at 2007年03月08日 09:59
んが、GUIから送ってるI/OバッファーはDriverで
クリアして使ってないから気にしないで…w
Posted by sp at 2007年03月08日 10:22
sp氏ありがとうございます。
ちょっと見てみますー
Posted by sachi at 2007年03月08日 13:45
VPC+win2k&ホストでWinDbg使って解析&Ollyで無理やりsysロードさせて一部アドレス修正でコード解析してて疑問に思った点がソース公開で明瞭に!
DeviceIoControl時にCtrlID分岐が3しかないなぁと思ったら、ドライバー側の実装が3しかなかったのね
GUIじゃ1、2、4も使ってたからウーンと思ってたのにやられた
#あんまり関係ないけどM$さんによるとCTL_CODEの定義は
#DriverType>=0x8000, FuncCode>=0x800以上にしなさいって書いてありますよ
#Type<0x8000,Code<0x800はM$のReserveだそうで

#実は前回、プロセスへのアタッチ方法思いつかなかったりした
#ドライバのソース見た感じ、GlobalHookでいけるのかな?
#内部実装調べたこと無いからわかんないや
##俺本職でもないのにkernel modeで遊ぶとか、暇人全開だな('A`)
Posted by 美ちんこ at 2007年03月08日 17:11
>VPC+win2k&ホストでWinDbg使って解析&Ollyで

いや〜、なんだかえらい事になってますなぁ…w

DriverType の指定値だけど今回の作りだと特に影響ないと
思って適当にやってました。適当な作りでスイマソン('A`)

>##俺本職でもないのにkernel modeで遊ぶとか、暇人全開だな('A`)

暇人うらやましかです、はい。

そうそう、WinXp 環境はお持ちでない?というのも今作ってる
エセツールが WinXpじゃないと動かないからひょっとして
使えないかな〜?とふと思ったり。
まぁあまり役立つものじゃないんだけど…
Posted by sp at 2007年03月08日 22:51
>XP環境
お遊び用にVPC上に構築はしてありますね
実機はスペックの関係で無いです
Posted by 美ちんこ at 2007年03月08日 23:02
なるほど〜

それならシステムコールフックは使わないで
サービステーブルのフックにすれば W2Kでも動くかな〜、とちょっと妄想。
あぁ、でも美ちんこ氏の特殊環境(?)だと
だめかも…。

とりあえず今夜あたりテスト版をこっそりうp。

つ自己レス
考えてみたらテーブル入れ替えにしても Systemcall.No 使わないと
入れ替えられないAPIがあるんだった。
XPと2Kで呼び出す番号が同じAPIならいいけど違う番号で呼び出すAPIが
あった場合、逝ってしまう。
まぁOSバージョン調べてからテーブルに正しい番号をセット
するようにすればいいんだけど。
Posted by sp at 2007年03月09日 13:19
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。